package com.room.search.service.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Objects;
import javax.validation.constraints.*;

/**
 * A DTO for the {@link com.room.search.domain.RoomBroker} entity.
 */
@ApiModel(description = "租赁经纪人")
public class RoomBrokerDTO implements Serializable {

    private Long id;

    /**
     * 经纪人姓名
     */
    @Size(max = 16)
    @ApiModelProperty(value = "经纪人姓名")
    private String name;

    /**
     * 服务平台年限
     */
    @ApiModelProperty(value = "服务平台年限")
    private Integer serverAge;

    /**
     * 成交记录
     */
    @ApiModelProperty(value = "成交记录")
    private Integer tradeRecord;

    /**
     * 评价信息
     */
    @Size(max = 128)
    @ApiModelProperty(value = "评价信息")
    private String appraise;

    /**
     * 联系方式
     */
    @Size(max = 16)
    @ApiModelProperty(value = "联系方式")
    private String contact;

    /**
     * 费率描述
     */
    @Size(max = 128)
    @ApiModelProperty(value = "费率描述")
    private String rates;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getServerAge() {
        return serverAge;
    }

    public void setServerAge(Integer serverAge) {
        this.serverAge = serverAge;
    }

    public Integer getTradeRecord() {
        return tradeRecord;
    }

    public void setTradeRecord(Integer tradeRecord) {
        this.tradeRecord = tradeRecord;
    }

    public String getAppraise() {
        return appraise;
    }

    public void setAppraise(String appraise) {
        this.appraise = appraise;
    }

    public String getContact() {
        return contact;
    }

    public void setContact(String contact) {
        this.contact = contact;
    }

    public String getRates() {
        return rates;
    }

    public void setRates(String rates) {
        this.rates = rates;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof RoomBrokerDTO)) {
            return false;
        }

        RoomBrokerDTO roomBrokerDTO = (RoomBrokerDTO) o;
        if (this.id == null) {
            return false;
        }
        return Objects.equals(this.id, roomBrokerDTO.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(this.id);
    }

    // prettier-ignore
    @Override
    public String toString() {
        return "RoomBrokerDTO{" +
            "id=" + getId() +
            ", name='" + getName() + "'" +
            ", serverAge=" + getServerAge() +
            ", tradeRecord=" + getTradeRecord() +
            ", appraise='" + getAppraise() + "'" +
            ", contact='" + getContact() + "'" +
            ", rates='" + getRates() + "'" +
            "}";
    }
}
